typedef int SOCKET;
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef unsigned char BYTE;
typedef unsigned long ULONG;
typedef struct sockaddr *LPSOCKADDR;
typedef int BOOL;
#define FALSE 0
#define TRUE 1
#define MAKEWORD(a,b)  ((WORD)(((BYTE)(a)) | ((WORD)((BYTE)(b))) << 8))
#define INVALID_SOCKET -1
#define SOCKET_ERROR -1
#define WINAPI
#define CALLBACK
#define LPVOID void*
